
<template>
  <div class="app-container">
    <!--课程表单-->
    <el-form :inline="true" class="demo-form-inline">

        <el-form-item>
        <el-input v-model="courseQuery.title" placeholder="课程名称"/>
        </el-form-item>

        <el-form-item>
            <el-select v-model="courseQuery.status" clearable placeholder="课程状态">
                <el-option :value="'Normal'" label="已发布"/>
                <el-option :value="'Draft'" label="未发布"/>
            </el-select>
        </el-form-item>



        <el-button type="primary" icon="el-icon-search" @click="getList()">查询</el-button>
        <el-button type="default" @click="resetData()">清空</el-button>
    </el-form>

    <!-- 表格 -->
    <el-table
    v-loading="listLoading"
    :data="list"   
    element-loading-text="数据加载中"
    border
    fit
    highlight-current-row>

    <el-table-column
      label="序号"
      width="70"
      align="center">
      <template slot-scope="scope">
        {{ (page - 1) * limit + scope.$index + 1 }}
      </template>
    </el-table-column>

    <el-table-column prop="title" label="课程名称" width="80" />

    <el-table-column label="课程状态" width="80">
      <template slot-scope="scope">
          {{ scope.row.status==='Normal'?'已发布':'未发布' }}
      </template>
    </el-table-column>

    <el-table-column prop="lessonNum" label="课时数"/>

    <el-table-column prop="gmtCreate" label="添加时间" width="160"/>

    <el-table-column prop="ViewCount" label="浏览数量" width="160" />

    <el-table-column label="操作" width="200" align="center">
      <template slot-scope="scope">

        <router-link :to="'/teacher/edit/'+scope.row.id">
          <el-button type="primary" size="mini" icon="el-icon-edit">编辑课程基本信息</el-button>
        </router-link>

         <router-link :to="'/teacher/edit/'+scope.row.id">
          <el-button type="primary" size="mini" icon="el-icon-edit">编辑课程大纲信息</el-button>
        </router-link>

        <el-button type="danger" size="mini" icon="el-icon-delete"
          @click="removeDataById(scope.row.id)">删除课程基本信息</el-button>
      </template>
    </el-table-column>
    </el-table>
    <!-- 分页角标  todo -->
    <!-- <el-pagination
    :current-page="page"
    :page-size="limit"
    :total="total"
    style="padding: 30px 0; text-align: center;"
    layout="total, prev, pager, next, jumper"
    @current-change="getList"
    /> -->
  </div>
</template>


<script>
 //引入调用course.js文件
 import course from '@/api/edu/course'

  export default {
    //核心代码位置
    // data:{  //定义数据
    // },
    data() {
      return {
        list:null, //查询接口后返回的集合
        page:1 ,   //当前页
        limit:4,  //每页记录数
        total:0,   //总记录数
        courseQuery:{
        } //条件数据
      }
    },
    created() { //调用方法\
        //调用
        this.getList()
        this.resetData()
    },
    methods:{ //写方法
        //讲师
        getList() {
          course.getListCourse()
            .then(response =>{
              //response接口返回的数据
              // console.log(response)
             this.list= response.data.list
            })  //请求成功
            .catch(error=>{
              console.log(error)
            }) //请求失败
        },
        // 清空条件查询的数据
        resetData() {
          this.courseQuery = {}
          this.getList()
        },
        removeDataById(id){

            this.$confirm('此操作将永久删除该记录, 是否继续?', '提示', {
              confirmButtonText: '确定',
              cancelButtonText: '取消',
              type: 'warning'
            }).then(() => {   //点击确定执行
              return course.delete(id)
            }).then(() => {
              this.getList()   //刷新页面
              this.$message({
                type: 'success',
                message: '删除成功!'
              })
            }).catch((response) => { // 失败
              if (response === 'cancel') {
                  this.$message({
                  type: 'info',
                  message: '已取消删除'
              })
              } else {
                this.$message({
                type: 'error',
                message: '删除失败'
              })
              }
            })
        }
         
        
    }
  }
</script>